package cn.tedu.csmall.product.service;

import cn.tedu.csmall.commons.vo.PageData;
import cn.tedu.csmall.product.pojo.param.AlbumAddNewParam;
import cn.tedu.csmall.product.pojo.param.CategoryAddNewParam;
import cn.tedu.csmall.product.pojo.param.CategoryUpdateInfoParam;
import cn.tedu.csmall.product.pojo.vo.CategoryListItemVO;
import cn.tedu.csmall.product.pojo.vo.CategoryStandardVO;
import cn.tedu.csmall.product.pojo.vo.CategoryTreeItemVO;

import java.util.List;

/**
 * @author Administrator
 * @description 针对表【pms_category(类别)】的数据库操作Service
 * @createDate 2023-06-13 10:34:27
 */
public interface ICategoryService {

    void addNew(CategoryAddNewParam categoryAddNewParam);

    void delete(Long id);

    void updateInfoById(Long id, CategoryUpdateInfoParam categoryUpdateInfoParam);

    CategoryStandardVO getStandardById(Long id);

    List<CategoryTreeItemVO> listTree();

    List<CategoryListItemVO> listByParentId(Long parentId);

    PageData<CategoryListItemVO> listByParentId(Long parentId, Integer pageNum);

    PageData<CategoryListItemVO> listByParentId(Long parentId, Integer pageNum, Integer pageSize);

    /**
     * 类别“是否启用”的状态文本
     */
    String[] ENABLE_TEXT = {"禁用","启用"};

    /**
     * 类别“是否显示在导航栏”的状态文本
     */
    String[] DISPLAY_TEXT = {"禁用","启用"};
    void setEnable(Long id);

    void setDisable(Long id);

    void setDisplay(Long id);

    void setHidden(Long id);


}
